package com.exception;

/**
 * @功能：自定义异常
 * @版本： V1
 * @版权： 信息技术有限公司（http://www.mychery.com/）
 * @作者： 磐石战队开发组  00355760
 * @日期： 2024/8/8 14:08
 */
public class demo04 {
    /**
     * 用户自定义异常类，只需继承Exception即可
     * <p>
     * 在程序中使用自定义异常类，大体分为以下步骤
     * <p>
     * 创建自定义异常类
     * 在方法中通过throw关键字抛出异常对象
     * 如果在当前抛出异常的方法中处理异常，可以使用try-catch语句捕获并处理；否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常，继续进行下一步操作
     * 在出现异常方法的调用者中捕获并处理异常
     *
     * 实际应用中的经验
     *
     * 处理运行时异常时，采用逻辑去合理规避同时辅助try-catch处理
     * 在多重catch块后面，可以加一个catch（Exception）来处理可能会被遗漏的异常
     * 对于不确定的代码，也可以加上try-catch，处理潜在的异常
     * 尽量去处理异常，切忌只是简单地调用printStackTrace（）去打印输出，可以增加一个处理异常的代码块
     * 具体如何处理异常，要根据不同的业务需求和异常类型去决定
     * 尽量添加finally语句块去释放占用的资源
     */


    //Test.java
    //可能会存在异常的方法
    static void test(int a) throws MyException {
        System.out.println("传递的参数为：" + a);
        if (a > 10) {
            throw new MyException(a);//这里有两种处理方法，在这里捕获，或者向更高的地方抛出异常
        }
        System.out.println("ok");
    }

    public static void main(String[] args) {
        try {
            test(11);
        } catch (MyException e) {
            System.out.println("MyException==>" + e);
        }
    }
}
